package com.eastfair.pay.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperService;
import com.eastfair.pay.entity.MerchantSystem;
import java.util.List;

import com.eastfair.pay.dto.*;
import com.eastfair.pay.vo.MerchantSystemVO;

/**
 * <p>
 * 业务接口
 * 商户系统
 * </p>
 *
 * @author clm
 * @date 2023-02-22
 */
public interface MerchantSystemService extends SuperService<MerchantSystem> {
    /**
     * do转vo
     * @param model
    */
    MerchantSystemVO doToVo(MerchantSystem model);
   /**
    * do转vo
    * @param modelList
   */
    List<MerchantSystemVO> doToVos(List<MerchantSystem> modelList);


   /**
    * 通用查询
    *
    * @param modelDTO DTO
    * @param ids 主键id集合
    * @return list
    */
   List<MerchantSystem> list(MerchantSystemDTO modelDTO, List<Long> ids);

  /**
  * 通用查询
  *
  * @param modelDTO DTO
  * @param ids 主键id集合
  * @return list
  */
  List<MerchantSystem> listOfCache(MerchantSystemDTO modelDTO, List<Long> ids);

  /**
   * @Author clm
   * @Description //通过id获取 商户系统
   * @Date 15:09 2023/2/22
   * @Param [merchantId]
   * @return com.eastfair.pay.entity.MerchantSystem
   **/
  MerchantSystem getByBindMerchantId(Long merchantId);
  /**
   * @Author fwl
   * @Description //通过systemCode获取 商户系统
   * @Date 15:09 2023/3/22
   * @Param [merchantId]
   * @return com.eastfair.pay.entity.MerchantSystem
   **/
  MerchantSystem getBySystemCode(String systemCode);

  /**
   * @Author clm
   * @Description //分页查询
   * @Date 15:08 2023/2/22
   * @Param [params]
   * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.eastfair.pay.vo.MerchantSystemVO>
   **/
  Page<MerchantSystemVO> queryList(PageParams<MerchantSystemPageQuery> params);


  void delete(MerchantSystem merchantSystem);
}
